import { AIMLIcon } from "@/icons/AIML";
import { DuckDuckGoIcon } from "@/icons/DuckDuckGo";
import { ExaIcon } from "@/icons/Exa";
import { GleanIcon } from "@/icons/Glean";
import { LangwatchIcon } from "@/icons/Langwatch";
import { MilvusIcon } from "@/icons/Milvus";
import Perplexity from "@/icons/Perplexity/Perplexity";
import { SearchAPIIcon } from "@/icons/SearchAPI";
import { SerpSearchIcon } from "@/icons/SerpSearch";
import { TavilyIcon } from "@/icons/Tavily";
import { UnstructuredIcon } from "@/icons/Unstructured";
import { WikipediaIcon } from "@/icons/Wikipedia";
import YouTubeIcon from "@/icons/Youtube/youtube";
import { ZepMemoryIcon } from "@/icons/ZepMemory";
import { AthenaIcon } from "@/icons/athena/index";
import { freezeAllIcon } from "@/icons/freezeAll";
import { GlobeOkIcon } from "@/icons/globe-ok";
import { TwitterLogoIcon } from "@radix-ui/react-icons";
import {
  AlertCircle,
  AlertTriangle,
  ArrowBigUp,
  ArrowLeft,
  ArrowRight,
  ArrowRightLeft,
  ArrowUpRight,
  ArrowUpToLine,
  Bell,
  Binary,
  Blocks,
  BookMarked,
  BookmarkPlus,
  Bot,
  BotMessageSquare,
  Boxes,
  Braces,
  BrainCircuit,
  Check,
  CheckCheck,
  CheckCircle2,
  ChevronDown,
  ChevronLeft,
  ChevronRight,
  ChevronRightSquare,
  ChevronUp,
  ChevronsDownUp,
  ChevronsLeft,
  ChevronsRight,
  ChevronsUpDown,
  ChevronsUpDownIcon,
  Circle,
  CircleCheckBig,
  CircleDot,
  CircleOff,
  Clipboard,
  Code,
  Code2,
  CodeXml,
  Cog,
  Combine,
  Command,
  Compass,
  Copy,
  CopyPlus,
  CornerDownLeft,
  Cpu,
  CpuIcon,
  Database,
  DatabaseZap,
  Delete,
  Dot,
  Download,
  DownloadCloud,
  Edit,
  Ellipsis,
  Eraser,
  ExternalLink,
  Eye,
  EyeOff,
  File,
  FileClock,
  FileDown,
  FileQuestion,
  FileSearch,
  FileSearch2,
  FileSliders,
  FileText,
  FileType2,
  FileUp,
  Filter,
  FlaskConical,
  FolderIcon,
  FolderPlus,
  FolderPlusIcon,
  FolderSync,
  FolderUp,
  FormInput,
  Forward,
  Gift,
  GitBranchPlus,
  GitFork,
  GithubIcon,
  Globe,
  GripVertical,
  Group,
  Hammer,
  Heart,
  HelpCircle,
  Home,
  Image,
  Info,
  InstagramIcon,
  Key,
  Keyboard,
  Laptop2,
  Layers,
  LayoutGrid,
  LayoutPanelTop,
  Link,
  Link2,
  List,
  ListChecks,
  ListFilter,
  ListOrdered,
  Loader2,
  Lock,
  LockOpen,
  LogIn,
  LogOut,
  LucideSend,
  Maximize2,
  Menu,
  MessageCircle,
  MessageSquare,
  MessageSquareMore,
  MessagesSquare,
  Minimize2,
  Minus,
  Monitor,
  Moon,
  MoonIcon,
  MoreHorizontal,
  Network,
  Newspaper,
  NotebookPen,
  OctagonAlert,
  OptionIcon,
  Package2,
  Palette,
  PanelLeftClose,
  PanelLeftOpen,
  PanelRightClose,
  PanelRightOpen,
  Paperclip,
  PaperclipIcon,
  Pen,
  Pencil,
  PencilLine,
  PieChart,
  Pin,
  Plane,
  Play,
  Plus,
  PlusCircle,
  PlusSquare,
  PocketKnife,
  Radio,
  Redo,
  RefreshCcw,
  RefreshCcwDot,
  Repeat,
  RotateCcw,
  Save,
  SaveAll,
  Scan,
  ScanEye,
  Scissors,
  ScreenShare,
  Scroll,
  ScrollText,
  Search,
  Settings,
  Settings2,
  Share,
  Share2,
  Shield,
  Sigma,
  Sliders,
  SlidersHorizontal,
  Snowflake,
  Sparkles,
  Square,
  SquareArrowOutUpRight,
  SquareCode,
  SquarePen,
  SquarePlay,
  StickyNote,
  Store,
  Sun,
  SunIcon,
  Table,
  Tags,
  TerminalIcon,
  TerminalSquare,
  TextCursorInput,
  TextSearch,
  TextSearchIcon,
  ToyBrick,
  Trash2,
  Type,
  Undo,
  Ungroup,
  Unplug,
  Upload,
  User,
  UserCog2,
  UserMinus2,
  UserPlus2,
  Users,
  Users2,
  Variable,
  Wand2,
  Workflow,
  Wrench,
  X,
  XCircle,
  Youtube,
  Zap,
  ZoomIn,
  ZoomOut,
} from "lucide-react";
import { FaApple, FaDiscord, FaGithub } from "react-icons/fa";
import { AWSIcon } from "../icons/AWS";
import { AirbyteIcon } from "../icons/Airbyte";
import { AnthropicIcon } from "../icons/Anthropic";
import { AssemblyAIIcon } from "../icons/AssemblyAI";
import { AstraDBIcon } from "../icons/AstraDB";
import { AzureIcon } from "../icons/Azure";
import { BingIcon } from "../icons/Bing";
import { BotMessageSquareIcon } from "../icons/BotMessageSquare";
import { CassandraIcon } from "../icons/Cassandra";
import { ChromaIcon } from "../icons/ChromaIcon";
import { ClickhouseIcon } from "../icons/Clickhouse";
import { CohereIcon } from "../icons/Cohere";
import { ComposioIcon } from "../icons/Composio";
import { ConfluenceIcon } from "../icons/Confluence";
import { CouchbaseIcon } from "../icons/Couchbase";
import { CrewAiIcon } from "../icons/CrewAI";
import { ElasticsearchIcon } from "../icons/ElasticsearchStore";
import { EvernoteIcon } from "../icons/Evernote";
import { FBIcon } from "../icons/FacebookMessenger";
import { FirecrawlIcon } from "../icons/Firecrawl";
import { GitBookIcon } from "../icons/GitBook";
import { GitLoaderIcon } from "../icons/GitLoader";
import { GoogleIcon } from "../icons/Google";
import { GoogleGenerativeAIIcon } from "../icons/GoogleGenerativeAI";
import {
  GradientInfinity,
  GradientSave,
  GradientUngroup,
} from "../icons/GradientSparkles";
import { GroqIcon } from "../icons/Groq";
import { HCDIcon } from "../icons/HCD";
import { HuggingFaceIcon } from "../icons/HuggingFace";
import { IFixIcon } from "../icons/IFixIt";
import { LMStudioIcon } from "../icons/LMStudio";
import { LangChainIcon } from "../icons/LangChain";
import { MaritalkIcon } from "../icons/Maritalk";
import { Mem0 } from "../icons/Mem0";
import { MetaIcon } from "../icons/Meta";
import { MidjourneyIcon } from "../icons/Midjorney";
import { MongoDBIcon } from "../icons/MongoDB";
import { NotDiamondIcon } from "../icons/NotDiamond";
import { NotionIcon } from "../icons/Notion";
import { NvidiaIcon } from "../icons/Nvidia";
import { OllamaIcon } from "../icons/Ollama";
import { OpenAiIcon } from "../icons/OpenAi";
import { OpenSearch } from "../icons/OpenSearch";
import { PineconeIcon } from "../icons/Pinecone";
import { PostgresIcon } from "../icons/Postgres";
import { PythonIcon } from "../icons/Python";
import { QDrantIcon } from "../icons/QDrant";
import { QianFanChatIcon } from "../icons/QianFanChat";
import { RedisIcon } from "../icons/Redis";
import { SearxIcon } from "../icons/Searx";
import { ShareIcon } from "../icons/Share";
import { Share2Icon } from "../icons/Share2";
import SvgSlackIcon from "../icons/Slack/SlackIcon";
import { SpiderIcon } from "../icons/Spider";
import { Streamlit } from "../icons/Streamlit";
import { UpstashSvgIcon } from "../icons/Upstash";
import { VectaraIcon } from "../icons/VectaraIcon";
import { VertexAIIcon } from "../icons/VertexAI";
import { WeaviateIcon } from "../icons/Weaviate";
import SvgWikipedia from "../icons/Wikipedia/Wikipedia";
import SvgWolfram from "../icons/Wolfram/Wolfram";
import { HackerNewsIcon } from "../icons/hackerNews";
import { MistralIcon } from "../icons/mistral";
import { SupabaseIcon } from "../icons/supabase";
import { iconsType } from "../types/components";

export const BG_NOISE =
  "url()";

export const gradients = [
  "bg-gradient-to-br from-gray-800 via-rose-700 to-violet-900",
  "bg-gradient-to-br from-green-200 via-green-300 to-blue-500",
  "bg-gradient-to-br from-yellow-200 via-yellow-400 to-yellow-700",
  "bg-gradient-to-br from-green-200 via-green-400 to-purple-700",
  "bg-gradient-to-br from-blue-100 via-blue-300 to-blue-500",
  "bg-gradient-to-br from-purple-400 to-yellow-400",
  "bg-gradient-to-br from-red-800 via-yellow-600 to-yellow-500",
  "bg-gradient-to-br from-blue-300 via-green-200 to-yellow-300",
  "bg-gradient-to-br from-blue-700 via-blue-800 to-gray-900",
  "bg-gradient-to-br from-green-300 to-purple-400",
  "bg-gradient-to-br from-yellow-200 via-pink-200 to-pink-400",
  "bg-gradient-to-br from-green-500 to-green-700",
  "bg-gradient-to-br from-rose-400 via-fuchsia-500 to-indigo-500",
  "bg-gradient-to-br from-sky-400 to-blue-500",
  "bg-gradient-to-br from-green-200 via-green-400 to-green-500",
  "bg-gradient-to-br from-red-400 via-gray-300 to-blue-500",
  "bg-gradient-to-br from-gray-900 to-gray-600 bg-gradient-to-r",
  "bg-gradient-to-br from-rose-500 via-red-400 to-red-500",
  "bg-gradient-to-br from-fuchsia-600 to-pink-600",
  "bg-gradient-to-br from-emerald-500 to-lime-600",
  "bg-gradient-to-br from-rose-500 to-indigo-700",
  "bg-gradient-to-br bg-gradient-to-tr from-violet-500 to-orange-300",
  "bg-gradient-to-br from-gray-900 via-purple-900 to-violet-600",
  "bg-gradient-to-br from-yellow-200 via-red-500 to-fuchsia-500",
  "bg-gradient-to-br from-sky-400 to-indigo-900",
  "bg-gradient-to-br from-amber-200 via-violet-600 to-sky-900",
  "bg-gradient-to-br from-amber-700 via-orange-300 to-rose-800",
  "bg-gradient-to-br from-gray-300 via-fuchsia-600 to-orange-600",
  "bg-gradient-to-br from-fuchsia-500 via-red-600 to-orange-400",
  "bg-gradient-to-br from-sky-400 via-rose-400 to-lime-400",
  "bg-gradient-to-br from-lime-600 via-yellow-300 to-red-600",
];

/*
Specifications
#FF3276 -> #F480FF
#1A0250 -> #2F10FE
#98F4FE -> #9BFEAA
#F480FF -> #7528FC
#F480FF -> #9BFEAA
#2F10FE -> #9BFEAA
#BB277F -> #050154
#7528FC -> #9BFEAA
#2F10FE -> #98F4FE
*/
export const flowGradients = [
  "linear-gradient(90deg, #FF3276 0%, #F480FF 100%)",
  "linear-gradient(90deg, #1A0250 0%, #2F10FE 100%)",
  "linear-gradient(90deg, #98F4FE 0%, #9BFEAA 100%)",
  "linear-gradient(90deg, #F480FF 0%, #7528FC 100%)",
  "linear-gradient(90deg, #F480FF 0%, #9BFEAA 100%)",
  "linear-gradient(90deg, #2F10FE 0%, #9BFEAA 100%)",
  "linear-gradient(90deg, #BB277F 0%, #050154 100%)",
  "linear-gradient(90deg, #7528FC 0%, #9BFEAA 100%)",
  "linear-gradient(90deg, #2F10FE 0%, #98F4FE 100%)",
];

export const toolModeGradient =
  "linear-gradient(-60deg,var(--tool-mode-gradient-1) 0%,var(--tool-mode-gradient-2) 100%)";

export const swatchColors = [
  "bg-neon-fuschia text-white",
  "bg-digital-orchid text-plasma-purple",
  "bg-plasma-purple text-digital-orchid",
  "bg-electric-blue text-holo-frost",
  "bg-holo-frost text-electric-blue",
  "bg-terminal-green text-cosmic-void",
];

export const nodeColors: { [char: string]: string } = {
  inputs: "#10B981",
  outputs: "#AA2411",
  data: "#198BF6",
  prompts: "#4367BF",
  models: "#ab11ab",
  model_specs: "#6344BE",
  chains: "#FE7500",
  list: "#9AAE42",
  agents: "#903BBE",
  tools: "#00fbfc",
  memories: "#F5B85A",
  saved_components: "#a5B85A",
  advanced: "#000000",
  chat: "#198BF6",
  thought: "#272541",
  embeddings: "#42BAA7",
  documentloaders: "#7AAE42",
  vectorstores: "#AA8742",
  vectorsearch: "#AA8742",
  textsplitters: "#B47CB5",
  toolkits: "#DB2C2C",
  wrappers: "#E6277A",
  notion: "#000000",
  Notion: "#000000",
  AssemblyAI: "#213ED7",
  assemblyai: "#213ED7",
  helpers: "#31A3CC",
  prototypes: "#E6277A",
  astra_assistants: "#272541",
  langchain_utilities: "#31A3CC",
  output_parsers: "#E6A627",
  // custom_components: "#ab11ab",
  retrievers: "#e6b25a",
  str: "#4F46E5",
  Text: "#4F46E5",
  unknown: "#9CA3AF",
  Document: "#65a30d",
  Data: "#dc2626",
  Message: "#4f46e5",
  Prompt: "#7c3aed",
  Embeddings: "#10b981",
  BaseLanguageModel: "#c026d3",
  LanguageModel: "#c026d3",
  Agent: "#903BBE",
  Tool: "#00fbfc",
};

export const nodeColorsName: { [char: string]: string } = {
  inputs: "emerald",
  outputs: "red",
  data: "sky",
  prompts: "blue",
  models: "fuchsia",
  model_specs: "violet",
  chains: "orange",
  list: "lime",
  agents: "purple",
  tools: "cyan",
  memories: "amber",
  saved_components: "lime",
  advanced: "slate",
  chat: "sky",
  thought: "zinc",
  embeddings: "teal",
  documentloaders: "lime",
  vectorstores: "yellow",
  vectorsearch: "yellow",
  textsplitters: "fuchsia",
  toolkits: "red",
  wrappers: "pink",
  notion: "slate",
  Notion: "slate",
  AssemblyAI: "blue",
  assemblyai: "blue",
  helpers: "cyan",
  prototypes: "pink",
  astra_assistants: "indigo",
  langchain_utilities: "sky",
  output_parsers: "yellow",
  // custom_components: "#ab11ab",
  retrievers: "yellow",
  str: "indigo",
  Text: "indigo",
  unknown: "gray",
  Document: "lime",
  Data: "red",
  Message: "indigo",
  Prompt: "violet",
  Embeddings: "emerald",
  BaseLanguageModel: "fuchsia",
  LanguageModel: "fuchsia",
  Agent: "purple",
  Tool: "cyan",
  BaseChatMemory: "cyan",
  BaseChatMessageHistory: "orange",
};

export const SIDEBAR_CATEGORIES = [
  { display_name: "Saved", name: "saved_components", icon: "GradientSave" },
  { display_name: "Inputs", name: "inputs", icon: "Download" },
  { display_name: "Outputs", name: "outputs", icon: "Upload" },
  { display_name: "Prompts", name: "prompts", icon: "TerminalSquare" },
  { display_name: "Data", name: "data", icon: "Database" },
  { display_name: "Processing", name: "processing", icon: "ListFilter" },
  { display_name: "Models", name: "models", icon: "BrainCircuit" },
  { display_name: "Vector Stores", name: "vectorstores", icon: "Layers" },
  { display_name: "Embeddings", name: "embeddings", icon: "Binary" },
  { display_name: "Agents", name: "agents", icon: "Bot" },
  { display_name: "Chains", name: "chains", icon: "Link" },
  { display_name: "Loaders", name: "documentloaders", icon: "Paperclip" },
  { display_name: "Link Extractors", name: "link_extractors", icon: "Link2" },
  { display_name: "Memories", name: "memories", icon: "Cpu" },
  { display_name: "Output Parsers", name: "output_parsers", icon: "Compass" },
  { display_name: "Prototypes", name: "prototypes", icon: "FlaskConical" },
  { display_name: "Retrievers", name: "retrievers", icon: "FileSearch" },
  { display_name: "Text Splitters", name: "textsplitters", icon: "Scissors" },
  { display_name: "Toolkits", name: "toolkits", icon: "Package2" },
  { display_name: "Tools", name: "tools", icon: "Hammer" },
  { display_name: "Logic", name: "logic", icon: "ArrowRightLeft" },
  { display_name: "Helpers", name: "helpers", icon: "Wand2" },
];

export const SIDEBAR_BUNDLES = [
  { display_name: "LangChain", name: "langchain_utilities", icon: "LangChain" },
  { display_name: "AssemblyAI", name: "assemblyai", icon: "AssemblyAI" },
  {
    display_name: "DataStax",
    name: "astra_assistants",
    icon: "AstraDB",
  },
  { display_name: "Notion", name: "Notion", icon: "Notion" },
  { display_name: "NVIDIA", name: "nvidia", icon: "NVIDIA" },
  { display_name: "Vectara", name: "vectara", icon: "Vectara" },
  { display_name: "Google", name: "google", icon: "Google" },
  { display_name: "CrewAI", name: "crewai", icon: "CrewAI" },
  { display_name: "NotDiamond", name: "notdiamond", icon: "NotDiamond" },
  { display_name: "Composio", name: "composio", icon: "Composio" },
  { display_name: "Cohere", name: "cohere", icon: "Cohere" },
  { display_name: "Firecrawl", name: "firecrawl", icon: "FirecrawlCrawlApi" },
  { display_name: "Unstructured", name: "unstructured", icon: "Unstructured" },
  { display_name: "Git", name: "git", icon: "GitLoader" },
  { display_name: "Confluence", name: "confluence", icon: "Confluence" },
  { display_name: "Mem0", name: "mem0", icon: "Mem0" },
];

export const categoryIcons = {
  saved_components: GradientSave,
  inputs: Download,
  outputs: Upload,
  prompts: TerminalSquare,
  data: Database,
  models: BrainCircuit,
  helpers: Wand2,
  vectorstores: Layers,
  embeddings: Binary,
  agents: Bot,
  astra_assistants: Sparkles,
  chains: Link,
  documentloaders: Paperclip,
  langchain_utilities: PocketKnife,
  link_extractors: Link2,
  memories: Cpu,
  output_parsers: Compass,
  prototypes: FlaskConical,
  retrievers: FileSearch,
  textsplitters: Scissors,
  toolkits: Package2,
  tools: Hammer,
  custom: Edit,
  custom_components: GradientInfinity,
};

export const nodeIconsLucide: iconsType = {
  //Category Icons
  inputs: Download,
  outputs: Upload,
  prompts: TerminalSquare,
  data: Database,
  models: BrainCircuit,
  helpers: Wand2,
  vectorstores: Layers,
  embeddings: Binary,
  agents: Bot,
  astra_assistants: Sparkles,
  chains: Link,
  documentloaders: Paperclip,
  langchain_utilities: PocketKnife,
  link_extractors: Link2,
  memories: Cpu,
  output_parsers: Compass,
  prototypes: FlaskConical,
  retrievers: FileSearch,
  textsplitters: Scissors,
  toolkits: Package2,
  tools: Hammer,
  custom_components: GradientInfinity,
  ChatInput: MessagesSquare,
  ChatOutput: MessagesSquare,
  //Integration Icons
  LMStudio: LMStudioIcon,
  Notify: Bell,
  ListFlows: Group,
  ClearMessageHistory: FileClock,
  Python: PythonIcon,
  AzureChatOpenAi: AzureIcon,
  Ollama: OllamaIcon,
  ChatOllama: OllamaIcon,
  AzureOpenAiEmbeddings: AzureIcon,
  Azure: AzureIcon,
  OllamaEmbeddings: OllamaIcon,
  ChatOllamaModel: OllamaIcon,
  FAISS: MetaIcon,
  Maritalk: MaritalkIcon,
  FaissSearch: MetaIcon,
  LangChain: LangChainIcon,
  AzureOpenAiModel: AzureIcon,
  Redis: RedisIcon,
  RedisSearch: RedisIcon,
  PostgresChatMessageHistory: PostgresIcon,
  BaiduQianfan: QianFanChatIcon,
  Vectara: VectaraIcon,
  ArrowUpToLine: ArrowUpToLine,
  Cassandra: CassandraIcon,
  Chroma: ChromaIcon,
  Couchbase: CouchbaseIcon,
  Clickhouse: ClickhouseIcon,
  AirbyteJSONLoader: AirbyteIcon,
  AmazonBedrockEmbeddings: AWSIcon,
  Amazon: AWSIcon,
  Anthropic: AnthropicIcon,
  ChatAnthropic: AnthropicIcon,
  assemblyai: AssemblyAIIcon,
  AssemblyAI: AssemblyAIIcon,
  AstraDB: AstraDBIcon,
  BingSearchAPIWrapper: BingIcon,
  BingSearchRun: BingIcon,
  Bing: BingIcon,
  Cohere: CohereIcon,
  ChevronsUpDownIcon,
  CohereEmbeddings: CohereIcon,
  EverNoteLoader: EvernoteIcon,
  FacebookChatLoader: FBIcon,
  FirecrawlCrawlApi: FirecrawlIcon,
  FirecrawlScrapeApi: FirecrawlIcon,
  GitbookLoader: GitBookIcon,
  GoogleSearchAPIWrapper: GoogleIcon,
  GoogleSearchResults: GoogleIcon,
  GoogleSearchRun: GoogleIcon,
  GoogleSearchAPI: GoogleIcon,
  GoogleSerperAPI: GoogleIcon,
  Google: GoogleIcon,
  GoogleGenerativeAI: GoogleGenerativeAIIcon,
  Groq: GroqIcon,
  HCD: HCDIcon,
  HNLoader: HackerNewsIcon,
  Unstructured: UnstructuredIcon,
  Filter: Filter,
  HuggingFaceHub: HuggingFaceIcon,
  HuggingFace: HuggingFaceIcon,
  HuggingFaceEmbeddings: HuggingFaceIcon,
  IFixitLoader: IFixIcon,
  CrewAI: CrewAiIcon,
  NotDiamond: NotDiamondIcon,
  Composio: ComposioIcon,
  Meta: MetaIcon,
  Midjorney: MidjourneyIcon,
  MongoDBAtlasVectorSearch: MongoDBIcon,
  MongoDB: MongoDBIcon,
  MongoDBChatMessageHistory: MongoDBIcon,
  notion: NotionIcon,
  Notion: NotionIcon,
  NotionDirectoryLoader: NotionIcon,
  NVIDIA: NvidiaIcon,
  ChatOpenAI: OpenAiIcon,
  AzureChatOpenAI: OpenAiIcon,
  OpenAI: OpenAiIcon,
  OpenAIEmbeddings: OpenAiIcon,
  Pinecone: PineconeIcon,
  Qdrant: QDrantIcon,
  ElasticsearchStore: ElasticsearchIcon,
  Weaviate: WeaviateIcon,
  Searx: SearxIcon,
  SlackDirectoryLoader: SvgSlackIcon,
  SpiderTool: SpiderIcon,
  SupabaseVectorStore: SupabaseIcon,
  Supabase: SupabaseIcon,
  VertexAI: VertexAIIcon,
  ChatVertexAI: VertexAIIcon,
  VertexAIEmbeddings: VertexAIIcon,
  Share3: ShareIcon,
  Share4: Share2Icon,
  WikipediaAPIWrapper: SvgWikipedia,
  WolframAlphaAPIWrapper: SvgWolfram,
  WikipediaQueryRun: SvgWikipedia,
  WolframAlphaQueryRun: SvgWolfram,
  WolframAlphaAPI: SvgWolfram,
  group_components: GradientUngroup,
  Streamlit,
  Discord: FaDiscord,
  MistralAI: MistralIcon,
  Upstash: UpstashSvgIcon,
  Confluence: ConfluenceIcon,
  AIML: AIMLIcon,
  "AI/ML": AIMLIcon,
  GitLoader: GitLoaderIcon,
  athenaIcon: AthenaIcon,
  DuckDuckGo: DuckDuckGoIcon,
  Perplexity,
  TavilyIcon,
  OpenSearch,
  GithubIcon,
  FaGithub,
  FaApple,
  YouTube: YouTubeIcon,
  Milvus: MilvusIcon,
  ExaSearch: ExaIcon,
  ZepMemory: ZepMemoryIcon,
  Langwatch: LangwatchIcon,
  Mem0,
  Glean: GleanIcon,
  GleanAPI: GleanIcon,
  SerpSearch: SerpSearchIcon,
  SearchAPI: SearchAPIIcon,
  Wikipedia: WikipediaIcon,

  //Node Icons
  model_specs: FileSliders,
  advanced: Laptop2,
  chat: MessageCircle,
  saved_components: GradientSave,
  vectorsearch: TextSearch,
  wrappers: Gift,
  unknown: HelpCircle,
  custom: Edit,
  Keyboard,
  ArrowRight,
  Play,
  BotMessageSquareIcon,
  CheckCheck,
  ListFilter,
  ScrollText,
  Workflow,
  User,
  ScanEye,
  Type,
  FolderIcon,
  X,
  Trash2,
  CircleOff,
  Boxes,
  Network,
  XCircle,
  Info,
  CheckCircle2,
  SquarePen,
  Zap,
  MessagesSquare,
  ExternalLink,
  ChevronsUpDown,
  Check,
  Home,
  Users2,
  SunIcon,
  MoonIcon,
  Bell,
  AlertTriangle,
  ChevronLeft,
  SlidersHorizontal,
  Palette,
  RefreshCcwDot,
  FolderUp,
  SquarePlay,
  LayoutPanelTop,
  Database,
  Blocks,
  ChevronDown,
  ArrowLeft,
  BrainCircuit,
  Wand2,
  Layers,
  Binary,
  Paperclip,
  PocketKnife,
  Scissors,
  Cpu,
  Hammer,
  GradientSave,
  Shield,
  NotebookPen,
  Plus,
  Redo,
  Settings2,
  FileType2,
  Undo,
  FileSearch2,
  ChevronRight,
  Circle,
  CircleDot,
  Clipboard,
  PlusCircle,
  PlusSquare,
  Code2,
  Globe,
  Variable,
  Snowflake,
  Store,
  Download,
  Eraser,
  Lock,
  LockOpen,
  Newspaper,
  Tags,
  CodeXml,
  PieChart,
  LucideSend,
  Sparkles,
  DownloadCloud,
  File,
  FileText,
  FolderPlus,
  GitFork,
  FileDown,
  FileUp,
  Menu,
  Save,
  Search,
  Copy,
  Upload,
  MessageSquare,
  MoreHorizontal,
  UserMinus2,
  UserPlus2,
  Pencil,
  ChevronsRight,
  ChevronsLeft,
  EyeOff,
  Eye,
  UserCog2,
  Key,
  Unplug,
  Group,
  LogIn,
  ChevronUp,
  PencilLine,
  Ungroup,
  BookMarked,
  Minus,
  LogOut,
  BotMessageSquare,
  Square,
  Minimize2,
  Maximize2,
  FormInput,
  ChevronRightSquare,
  Plane,
  Users,
  ListOrdered,
  SaveAll,
  MessageSquareMore,
  Forward,
  Share2,
  Share,
  GitBranchPlus,
  Loader2,
  BookmarkPlus,
  Heart,
  Package2,
  FileSearch,
  Compass,
  Link2,
  Pin,
  Link,
  ToyBrick,
  RefreshCcw,
  SquareArrowOutUpRight,
  Combine,
  TerminalIcon,
  TerminalSquare,
  TextCursorInput,
  Repeat,
  Sliders,
  ScreenShare,
  Code,
  OctagonAlert,
  Ellipsis,
  Braces,
  FlaskConical,
  AlertCircle,
  Bot,
  Delete,
  Command,
  ArrowBigUp,
  PanelRightClose,
  Dot,
  LayoutGrid,
  StickyNote,
  note: StickyNote,
  RotateCcw,
  Wrench,
  GripVertical,
  FolderPlusIcon,
  PaperclipIcon,
  Settings,
  Monitor,
  Moon,
  Sun,
  PanelLeftClose,
  PanelLeftOpen,
  ArrowUpRight,
  Scroll,
  Image,
  CopyPlus,
  Pen,
  TwitterLogoIcon,
  InstagramIcon,
  TextSearchIcon,
  FileQuestion,
  Youtube,
  List,
  SquareCode,
  ListChecks,
  PanelRightOpen,
  CornerDownLeft,
  ChevronsDownUp,
  OptionIcon,
  Option: OptionIcon,
  FreezeAll: freezeAllIcon,
  Table,
  Scan,
  GlobeOkIcon,
  CircleCheckBig,
  ZoomIn,
  ZoomOut,
  Sigma,
  Radio,
  DatabaseZap,
  Cog,
  ArrowRightLeft,
  FolderSync,
};
